//字符串也可以解构赋值。这是因为此时，字符串被转换成了一个类似数组的对象
const [a, b, c] = 'hello'
//h e l
console.log(a, b, c)

//类似数组的对象都有一个length属性，因此还可以对这个属性解构赋值。
let {length: len} = 'hello中文'
//7
console.log(len)

let {toString: s} = 123
//true
console.log(s === Number.prototype.toString)
let {toString: y} = true
//true
console.log(y === Boolean.prototype.toString)

//函数参数的解构赋值
function add([x, y]) {
    return x + y
}

//8
console.log(add([3, 5]))

//[3,7]
console.log([[1, 2], [3, 4]].map(([a, b]) => a + b))
